home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / gfx / conv / ilbm24.lha / ilbm / main.c < prev    next >
C/C++ Source or Header  |  1993-02-12  |  2KB  |  70 lines

  1. /*
  2.  * main.c for readilbm.c and writeilbm.c by Brett Van Sprewenburg
  3.  *
  4.  * main.c 
  5.  *
  6.  * Version    Date    
  7.  *  1.2        2/4/93    Integration of both readilbm and writeilbm. Multiple bugs squashed
  8.  *  1.2.1    2/10/93    Added version string information
  9.  *  1.2.2    2/12/93 First public release
  10.  */ 
  11.  
  12. #include <writeilbm.h>
  13.  
  14. extern WriteILBM(char *, int);
  15. extern ReadILBM(char *, char *);
  16.  
  17. main(int argc, char **argv)
  18. {
  19.   FILE *ifp;
  20.   int status,compression = 1;
  21.  
  22.   if (argc == 5) {
  23.     compression = (int)((*argv[3] - '\0') - 48); 
  24.     if ((compression > 1) || (compression < 0)) {
  25.       fprintf(stderr,"Illegal value '%d', Compression is either '1' or '0'\n",compression);
  26.       exit(1);
  27.     }
  28.   } else
  29.   if (argc == 1) {
  30.     fprintf(stderr,"Usage: %s [-r][-w] srcfile destfile\n",argv[0]);
  31.     fprintf(stderr,"  Use '-r' when srcfile is an IFF24 ILBM and you want a Sun Raster in destfile.\n");
  32.     fprintf(stderr,"  Use '-w' when srcfile is a Sun Raster and you want an IFF24 ILBM in destfile.\n");
  33.     exit(1);
  34.   }
  35.  
  36.   switch (argv[1][1] - '\0') {
  37.     case 118:   /* v */
  38.     fprintf(stderr,"Version: %s by Brett Van Sprewenburg\n",VERSION);
  39.     break;
  40.  
  41.     case 119:    /* w */
  42.  
  43.       status = LoadSunRas(argv[2]);
  44.       if (status < 0) {
  45.           fprintf(stderr,"\nLoad of Sun Raster failed. Exiting, status %d.\n",status); 
  46.         exit(-1);
  47.       }
  48.       status = WriteILBM(argv[3],compression);
  49.       if (status < 0) {
  50.           fprintf(stderr,"Write of IFF ILBM failed. Exiting, status %d.\n",status); 
  51.         exit(-2);
  52.       }
  53.         break;
  54.  
  55.     case 114:  /* r */
  56.  
  57.     status = ReadILBM(argv[2],argv[3]);
  58.       if (status < 0) {
  59.           fprintf(stderr,"ReadILBM failed. Exiting, status %d.\n",status); 
  60.         exit(-1);
  61.       }
  62.     break;
  63.  
  64.     default:
  65.     
  66.     fprintf(stderr,"Unknown option '%s'.\n",argv[1]);
  67.     exit(-1);
  68.   }
  69. }  
  70.